// pages/onlineClass/onLineClass.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    iconData: [
        { picture: '/images/@2x_zixunpeixun.png', title: '咨询师培训',url: '/pages/course/top/zaixiankecheng/onlineClass/zxspx/zxspx'},
        { picture: '/images/@2x_life.png', title: '智慧生活', url: '/pages/course/top/zaixiankecheng/onlineClass/zhsh/zhsh'},
        { picture: '/images/@2x_teachergroud.png', title: '教师板块',url: '/pages/course/top/zaixiankecheng/onlineClass/jspk/jspk' },
        { picture: '/images/@2x_docter.png', title: '身心医生',url: '/pages/course/top/zaixiankecheng/onlineClass/sxys/sxys' },
        { picture: '/images/@2x_freeclass.png', title: '免费公开课',url: '/pages/course/top/zaixiankecheng/onlineClass/mfgkx/mfgxk'}
      ],
    carouselChart: [],  // 轮播图数据
    hotCourses: [],     // 热门课程数据
    pageNo: 1,          // 当前页码
    pageSize: 10,       // 每次请求的课程数
    isLoading: false,   // 加载状态
    hasMore: true ,      // 是否有更多数据
        selectedSort: '', // 当前选中的排序类型
        priceSort: 'desc', // 价格排序：升序 'asc' 或 降序 'desc'
        priceRangeSort: 'desc', // 价格区间排序：升序 'asc' 或 降序 'desc'
        showPriceSelector: false, // 控制价格排序弹窗是否显示
      },
      navigateToPage: function(e) {
        const url = e.currentTarget.dataset.url;
        wx.navigateTo({
          url: url
        });
    },
    
      // 选择排序类型
      onSortSelect(e) {
        const sort = e.currentTarget.dataset.sort;
        this.setData({
          selectedSort: sort,
          showPriceSelector: false, // 每次选择新的排序方式，隐藏价格排序弹窗
        });
      },
    
      // 选择价格排序
      onPriceSelect() {
        this.setData({
          selectedSort: '价格',
          showPriceSelector: !this.data.showPriceSelector, // 切换显示价格排序弹窗
        });
      },
    
      // 选择价格升序
      onPriceAscSelect() {
        this.setData({
          priceSort: 'asc',
          showPriceSelector: false, // 选择完排序后，隐藏排序弹窗
        });
      },
    
      // 选择价格降序
      onPriceDescSelect() {
        this.setData({
          priceSort: 'desc',
          showPriceSelector: false, // 选择完排序后，隐藏排序弹窗
        });
      },
    
      // 选择价格区间排序
      onPriceRangeSelect() {
        this.setData({
          selectedSort: '价格区间',
          showPriceSelector: !this.data.showPriceSelector, // 切换显示价格区间排序弹窗
        });
      },
      onLoad: function () {
        // 页面加载时获取课程数据
                // 如果正在加载数据，直接返回
                if (this.data.isLoading || !this.data.hasMore) return;
    
                // 设置加载状态
                this.setData({ isLoading: true });
            const that=this
                // 请求所有课程数据
                wx.request({
                  url: 'http://127.0.0.1:9090/course/selectAllInfoPage?pageNum=' + this.data.pageNo + '&pageSize=4',
                  success: (res) => {
                    const allCourses = res.data.data.list || [];  // 确保返回的数据是数组
                    console.log(res.data.data.list);
            that.setData({
                hotCourses:res.data.data.list
            })
                    // 如果没有课程数据
                    if (allCourses.length === 0) {
                      this.setData({ hasMore: false });
                      return;
                    }
            
                    // 最初的 4 个课程分配给轮播图
                    if (this.data.pageNo === 1) {
                      const newCarouselChart = allCourses.slice(0, 4);  // 取前四个作为轮播图数据
                      this.setData({
                        carouselChart: newCarouselChart,  // 设置轮播图数据
                      });
                    }
            
                    // 从第 5 个开始，加载到热门课程列表中
                    const newHotCourses = allCourses.slice(0);  // 剩余的课程从第 5 个开始加入热门课程列表
            
                    // 更新数据
                    this.setData({
                      hotCourses: [...this.data.hotCourses, ...newHotCourses],  // 将新的热门课程添加到列表中
                      hasMore: allCourses.length >= this.data.pageSize,  // 判断是否有更多数据
                      isLoading: false  // 关闭加载状态
                    });
            
                    // 更新页码
                    this.setData({
                      pageNo: this.data.pageNo + 1
                    });
                  },
                  fail: () => {
                    // 请求失败时关闭加载状态
                    this.setData({ isLoading: false });
                  }
                });
      },
    

    
      // 上拉触底事件，加载更多数据
      onReachBottom: function () {
        console.log("到底了");
                // 如果正在加载数据，直接返回
                if (this.data.isLoading || !this.data.hasMore) return;
    
                // 设置加载状态
                this.setData({ isLoading: true });
            
                // 请求所有课程数据
                wx.request({
                  url: `https://wwyy.wzhxlx.com/wwyy/course/queryAllCourse?channelId=409&pageNo=${this.data.pageNo}&pageSize=${this.data.pageSize}`,
                  success: (res) => {
                    const allCourses = res.data.data.list || [];  // 确保返回的数据是数组
                    console.log(res);
            
                    // 如果没有课程数据
                    if (allCourses.length === 0) {
                      this.setData({ hasMore: false });
                      return;
                    }
            
                    // 最初的 4 个课程分配给轮播图
                    if (this.data.pageNo === 1) {
                      const newCarouselChart = allCourses.slice(0, 4);  // 取前四个作为轮播图数据
                      this.setData({
                        carouselChart: newCarouselChart,  // 设置轮播图数据
                      });
                    }
            
                    // 从第 5 个开始，加载到热门课程列表中
                    const newHotCourses = allCourses.slice(4);  // 剩余的课程从第 5 个开始加入热门课程列表
            
                    // 更新数据
                    this.setData({
                      hotCourses: [...this.data.hotCourses, ...newHotCourses],  // 将新的热门课程添加到列表中
                      hasMore: allCourses.length >= this.data.pageSize,  // 判断是否有更多数据
                      isLoading: false  // 关闭加载状态
                    });
            
                    // 更新页码
                    this.setData({
                      pageNo: this.data.pageNo + 1
                    });
                  },
                  fail: () => {
                    // 请求失败时关闭加载状态
                    this.setData({ isLoading: false });
                  }
                });
      },
    
      // 下拉刷新
      onPullDownRefresh: function () {
        // 重置数据，重新加载第一页的数据
        this.setData({
          allCourses:[],
          carouselChart: [],  // 清空轮播图数据
          hotCourses: [],     // 清空热门课程数据
          pageNo: 1,          // 重置页码
          hasMore: true       // 允许加载更多数据
        });
    
        // 重新加载课程数据
               // 如果正在加载数据，直接返回
               if (this.data.isLoading || !this.data.hasMore) return;
    
               // 设置加载状态
               this.setData({ isLoading: true });
           
               // 请求所有课程数据
               wx.request({
                 url: `https://wwyy.wzhxlx.com/wwyy/course/queryAllCourse?channelId=409&pageNo=${this.data.pageNo}&pageSize=${this.data.pageSize}`,
                 success: (res) => {
                   const allCourses = res.data.data.list || [];  // 确保返回的数据是数组
                   console.log(res);
           
                   // 如果没有课程数据
                   if (allCourses.length === 0) {
                     this.setData({ hasMore: false });
                     return;
                   }
           
                   // 最初的 4 个课程分配给轮播图
                   if (this.data.pageNo === 1) {
                     const newCarouselChart = allCourses.slice(0, 4);  // 取前四个作为轮播图数据
                     this.setData({
                       carouselChart: newCarouselChart,  // 设置轮播图数据
                     });
                   }
           
                   // 从第 5 个开始，加载到热门课程列表中
                   const newHotCourses = allCourses.slice(4);  // 剩余的课程从第 5 个开始加入热门课程列表
           
                   // 更新数据
                   this.setData({
                     hotCourses: [...this.data.hotCourses, ...newHotCourses],  // 将新的热门课程添加到列表中
                     hasMore: allCourses.length >= this.data.pageSize,  // 判断是否有更多数据
                     isLoading: false  // 关闭加载状态
                   });
           
                   // 更新页码
                   this.setData({
                     pageNo: this.data.pageNo + 1
                   });
                 },
                 fail: () => {
                   // 请求失败时关闭加载状态
                   this.setData({ isLoading: false });
                 }
               });
    
        // 停止下拉刷新
        wx.stopPullDownRefresh();
      },
    
      // 修改后的跳转代码
navigateToCourseDetail: function (e) {
    console.log(e)
  const courseId = e.currentTarget.dataset.courseid;
  console.log(courseId);
  wx.navigateTo({
    url: '/pages/coursedetail/coursedetail?id='+courseId,
  })
}

    });
    